<?php

namespace App\Http\Controllers\Admin;

use App\Models\Admin\Comment;
use App\Models\Admin\Weibo;
use App\Models\RTresult;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\DB;

class WeiboController extends Controller
{
    //微博视图列表
    public function index()
    {
        //两表联查，将用户的ID变为用户详情表的昵称
        $weibos = Weibo::join('user_infos', 'user_infos.user_id', '=', 'weibos.user_id')
            ->select('weibos.*', 'user_infos.nickname')
            ->paginate(2);
//        dd($weibos);
        return view('admin.weibo')->with('weibos', $weibos);}

        //搜索分页
        public
        function page(Request $request)
        {
            //默认的搜索框为post传值
            if ($request->isMethod('post')) {
                //获取填写的内容
                $contents = $request->contents;
                //得到数据库中的数据
                $db = Weibo::all();
                //定义一个数组，用来保存拼接的语句
                $arr = array();
                //拼接原生的sql语句，1为true`
                $where = 1;
                //判断输入的内容是否存在，用来搜索
                if (!empty($contents)) {
                    //拼接原生的sql查询条件  使用模糊查询
                    $where .= " and content like \"%". $contents. "%\"";
                    //拼接多条件查询
                    $arr ['content'] = "content like \"%" . $contents . "%\"";
                }
                //菜单的请求值
                $is_gai = $request->is_gai;
//            dd($is_gai);
                //菜单的值不为空
                if ($is_gai == 1 || $is_gai == 0) {

                    // +   拼接  菜单 查询语句
                    $where .= " and is_show =" . $is_gai;
                    //拼接  菜单  查询条件
                    $arr ['is_show'] = $is_gai;

                }
                $db = Weibo::whereRaw($where)->join('user_infos', 'user_infos.user_id', '=', 'weibos.user_id')
                    ->select('weibos.*', 'user_infos.nickname');
                $weibos = $db->paginate(2);
                //appends把条件追加到URL里面
                $weibos = $weibos->appends($arr);
                return view('admin/weibo', ['weibos' => $weibos]);
            }
            /***get的传递方式用来分页查询点击下一页***/
            $arr = array();
            $where = 1;
            //get的接收方式
            if (!empty($_GET['content'])) {

                $where .= " and " . $_GET['content'];
                $arr ['content'] = $_GET['content'];
            }
            $is_gai = $request->is_gai;
            $show = $_GET['is_show'];
            if ($show == 1 || $show == 0) {

                $where .= " and is_show =" . $show;
                $arr ['is_show'] = $show;

            }
            //原生sql拼接语句
            $db = Weibo::whereRaw($where)->join('user_infos', 'user_infos.user_id', '=', 'weibos.user_id')
                ->select('weibos.*', 'user_infos.nickname');
            //分页
            $weibos = $db->paginate(2);
            //appends把条件追加到URL里面
            $weibos = $weibos->appends($arr);

            return view('admin/weibo', ['weibos' => $weibos]);
        }

    //is_show{是否是菜单}的ajax
    public function update(Request $request)
    {
        //调用状态值
        $rt_result = new RTresult();
        //判断是否  显示 或者 禁用
        $is_show = $request->is_show;
//        dd($is_show);
        //获取  用户表 的ID
        $weibo_id = $request->weibo_id;
//        dd($weibo_id);
        if ($is_show == 1) {
            $is_show = 0;
        } else {
            $is_show = 1;
        }
        //根据  点击所在的ID  改变是否显示或者禁用
        $res = Weibo::find($weibo_id)
            ->update(['is_show' => $is_show]);
//        dd($res);

        if ($res) {
            $rt_result->status = true;
            $rt_result->message = $is_show;
            return $rt_result->toJson();
        }
    }
    // 微博详情
    public function show($id)
    {
        //微博详情
        $weibos = Weibo::join('user_infos', 'user_infos.user_id', '=', 'weibos.user_id')
            ->select('weibos.*', 'user_infos.nickname')
            ->where('weibos.id', '=', $id)
            ->get();

        //评论详情
        $details=DB::table('comments')->join('user_infos','user_infos.user_id','=','comments.user_id')
            ->join('weibos','comments.weibo_id','=','weibos.id')
            ->select('comments.*', 'user_infos.nickname')
            ->where('weibos.id', '=', $id)
            ->get();
//        dd($details);
        return view('admin.weibo_show')
            ->with('weibos', $weibos)
            ->with('details',$details);
    }
//    Comment评论表的开关键
    public function status(Request $request){
        //调用状态值
        $rt_result = new RTresult();
        //判断是否  显示 或者 禁用
        $is_view = $request->is_view;
//        dd($is_show);
        //获取  用户表 的ID
        $detail_id = $request->detail_id;
//        dd($weibo_id);
        if ($is_view == 1) {
            $is_view = 0;
        } else {
            $is_view = 1;
        }
        //根据  点击所在的ID  改变是否显示或者禁用
        $res = Comment::find($detail_id)
            ->update(['is_view' => $is_view]);
//        dd($res);

        if ($res) {
            $rt_result->status = true;
            $rt_result->message = $is_view;
            return $rt_result->toJson();
        }
    }
}
